package jcommon.chap1_j2seplus.date;

import java.text.Format;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.FastDateFormat;

public class FastDateFormatDemo {
	public static void main(String[] args) {
		// use FastDateFormat as a substitute for SimpleDateFormat:
		// FastDateFormat是线程安全的，JDK提供的那些都不安全，如果直接并发运用会有严重问题
		testFmt(DateFormatUtils.ISO_DATE_FORMAT);
		testFmt(DateFormatUtils.ISO_DATE_FORMAT);
		testFmt(DateFormatUtils.ISO_DATE_TIME_ZONE_FORMAT);
		testFmt(DateFormatUtils.ISO_DATETIME_FORMAT);
		testFmt(DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT);
		testFmt(DateFormatUtils.ISO_TIME_FORMAT);
		testFmt(DateFormatUtils.ISO_TIME_NO_T_FORMAT);
		testFmt(DateFormatUtils.ISO_TIME_NO_T_TIME_ZONE_FORMAT);
		FastDateFormat dfd = FastDateFormat.getInstance("yyyy-mm", TimeZone
				.getDefault(), Locale.getDefault());
		testFmt(dfd);
	}

	private static void testFmt(Format fmt) {
		Date now = new Date();
		System.out.println(fmt.format(now));
	}
}
